![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 29.01.2005 Ostrzeżenie: (0%)
|
Witajcie!
W trakcie realizacji swojego projektu natknąłem się na problem: nie wiem jak wyświetlać np. po 10 odpowiedzi na stronie, a na samym dole (pod wyświetlonymi odpowiedziami) umieścić cyferki oznaczające ilość stron odpowiedzi pozostałych do obejrzenia czyli coś w rodzaju: 1 [2] [3] itp.. Ma ktoś jakiś pomysł? Dziękuję za wszystkie odpowiedzi. Irysek |
|
|
|
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 0 Dołączył: 23.09.2003 Skąd: Siemianowice Śląskie Ostrzeżenie: (0%)
|
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 29.01.2005 Ostrzeżenie: (0%)
|
Mike_Mech..(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Chciałem skorzystać z wyszukiwarki, ale nie wiedziałem jak to się formalnie nazywa. Dzięki, że mnie uświadomiłeś.(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Mario! Serdecznie dzięki poraz drugi! |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%)
|
Cytat(mario @ 2005-05-07 17:49:21)
@mario: Mam jedno pytanie. Użyłeś na samym początku skrytpu kodu:
do pobrania ilości wszystkich wierszy. A nie szybciej będzie jak zrobisz tak:
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Drugie pytanie: czy da się skrypt przerobić tak, żeby za każdym razem wywoływania samego siebie nie sprawdzał ilości rekordów? Bo po co cały czas robić to samo? Pozdrawiam PS. Jestem bliski rozwiązania tego problemu ale proszę o odpowiedź EDIT: ------ Można to zrobić jedynie przez przekazanie wartości za pomocą GET, ale nie wiemy jakiego wyniku się spodziewamy więc jest to niebezpieczne. Dlatego moim zdaniem lepiej zliczać ilość wierszy za każdym razem. Co o tym myślicie? Ten post edytował J4r0d 10.05.2005, 17:26:36 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 11.06.2006 Ostrzeżenie: (0%)
|
mam problem ...
skorzystałem z kodu kolegi mario i stronicowanie dzial mi pieknie tylko jest problem z tym, że jak dodoaje coś do mojej bazyto wynik wyswietla mi sie tam gdzie był ostatnio usuniety rekord. Rzecz w tym ze chcialbym aby po dodaniu rekordy wyswietlal sie on na poczatku tablicy. Tak mialem przed dodoaniem tego stronicowania i nie wiem teraz o co chodzi. Używam polecienia order by, co prawda sortuje mi wyniki w tabeli ale tylko na kolejnych stronach a nie sortuje wszstkiego.
Po za tym tak juz pisałem po usunieciu rekordu, dodanie kolejnego powoduje ze dodaje go nie na poczatku tylko od miejsca gdzie usunąłem ostatni rekord. Prosze o pomoc dobra doszedłem co bylo nie tak ... za LIMIT wstawialem ORDER a musi byc przed ... no coz czlowiek sie uczy dopiero |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 0 Dołączył: 23.09.2003 Skąd: Siemianowice Śląskie Ostrzeżenie: (0%)
|
Można to zrobić jedynie przez przekazanie wartości za pomocą GET, ale nie wiemy jakiego wyniku się spodziewamy więc jest to niebezpieczne. Dlatego moim zdaniem lepiej zliczać ilość wierszy za każdym razem. Co o tym myślicie? oczywiscie ze $_GET latwo jest oszukac podobnie jak $_COOKIE, mozna zastosowac $_POST w polu "hidden" lub lepiej $_SESSION ale moim zdaniem po co.... Wykonanie sprawdzenia liczby komorek z tabeli trwa ulamki sekundy, a np. z $_SESSION trzeba by sprawdzic czy zmienna jest zarejestrowana (jezeli nie to ja zarejestrowac), i inne pierdoly zwiazane z zabezpieczeniem skryptu. Moim zdaniem robota nie warta zachodu... po co sobie komplikowac zycie? Oczywiscie to byl przyklad i kazdy zrobi jak mu bedzie wygodnie i najlepiej :-) Ten post edytował mario 12.06.2006, 22:00:49 |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 30.04.2006 Skąd: Kalisz Ostrzeżenie: (0%)
|
Witam
Interesuje mnie ważna kwestia, a mianowicie w kodzie jest tak: Kod <?php $query = "SELECT * FROM mode1 order by Id DESC"; $result = mysql_query($query) or die("Query failed"); $rekordy = mysql_num_rows ($result); ?> A czy nie lepiej tak? Kod <?php $result = mysql_query("SELECT * FROM mode1 ORDER BY Id DESC") or die("Query failed"); $rekordy = mysql_num_rows ($result); ?> Mniej zmiennych używasz, kod jest mniej obszerny i czytelniejszy. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
Zero róznicy w tym jest więc nie pokazuj że jesteś jakiś mądry (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . A ja zamaist or die dałbym mysql_error (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) wtedy skrypt lecial by dalej. Np jak się ma templatki i wczyta 1 połowe a drugą nie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
Właśnie wczoraj pisałem klasę kontrolera stronicowania. Jak liczycie rekordy, to nie używajcie
Ta funkcja jest około 300+%(zalezy ile rekordów) szybsza niż liczenie przez mysql_num_rows() Jak już koniecznie chcecie, to używajcie mysql_affected_rows() Wszystko rozbija się o "SELECT * ..." Głupotą jest używanie takiego kodu po to, aby policzyc ich całkowitą ilośc w tabeli. Oczwiscie nabiera to sensu, jeśli zamierzacie potem coś z tymi wyciągniętymi danymi zrobic. P.S Testowałem te zapytania na tebeli z 2000000 rekordów. Ten post edytował Cysiaczek 3.07.2006, 21:25:45 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 0 Dołączył: 23.09.2003 Skąd: Siemianowice Śląskie Ostrzeżenie: (0%)
|
oczywiscie ze uzywam zapytan z * aby otrzymac calosc, gdyz najczesciej cala tablica jest mi potrzebna do wyswietlenia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
|
![]() ![]() |
|
Aktualny czas: 5.01.2026 - 06:27 |